<?php
    //valida que venga los datos
    if(isset($_POST['nueva_subcategoria']) && isset($_POST['ACCION'])){
		$nueva_subcategoria = $_POST['nueva_subcategoria'];
		$descripcion_admin = $_POST['descripcion_admin'];
		$accion = $_POST['ACCION'];
		$id_categoria = $_POST['categoria'];
		$id_producto = $_POST['producto'];
		$orden = $_POST['orden'];
		
		if($accion != 'DELETE'){
			if($id_categoria=='-1'){
				$response = array("RESULT" => "1","ERROR" =>"Debe seleccionar una categor&iacute;a");
				echo json_encode($response);
				exit(); 
			}
			
			if($id_producto=='-1'){
				$response = array("RESULT" => "1","ERROR" =>"Debe seleccionar un producto");
				echo json_encode($response);
				exit(); 
			}
			
		}
	}else{
		exit();	
	}
    
    
    require_once('../php/class/subcategorias.class.php');
    $oSubcategoria = new subcategoria();
    
    switch($accion){
        case "ADD":
        
			if($oSubcategoria->unique("DESCRIPCION_ADMIN","'".$descripcion_admin."'","DESCRIPCION","'".$nueva_subcategoria."'","ID_CATEGORIA",$id_categoria)){
				$response = array("RESULT" => "1","ERROR" =>"Ya existe una sub-categor&iacute;a con esa descripci&oacute;n");
                echo json_encode($response);
                exit();
				}
				
            $oSubcategoria->ID = $oSubcategoria->getlastid();
            $oSubcategoria->ID_PRODUCTO = $id_producto;
            $oSubcategoria->ID_CATEGORIA = $id_categoria;
            $oSubcategoria->DESCRIPCION = $nueva_subcategoria;
            $oSubcategoria->DESCRIPCION_ADMIN = $descripcion_admin;
            $oSubcategoria->ORDEN = $orden;
            $oSubcategoria->ID_STATUS = 1; // active
            if(!@$oSubcategoria->add()){
                $response = array("RESULT" => "1","ERROR" =>"Error guardando subcategor&iacute;a");
                echo json_encode($response);
                exit();   
            }else{
                $response = array("RESULT" => "0","ERROR" =>"none");
                echo json_encode($response);
                exit(); 
            }
        break;
        
        case "MODIFY":
            $id_subcategoria = $_POST['id_subcategoria'];
            $nueva_subcategoria = $_POST['nueva_subcategoria'];
            $descripcion_admin = $_POST['descripcion_admin'];
            $id_categoria = $_POST['categoria'];
            $id_producto = $_POST['producto'];
            $orden = $_POST['orden'];
            
            $oSubcategoria->search($id_subcategoria);
            
            if($oSubcategoria->ID_PRODUCTO != $id_producto || $oSubcategoria->ID_CATEGORIA != $id_categoria || $oSubcategoria->DESCRIPCION_ADMIN != $descripcion_admin || $oSubcategoria->DESCRIPCION != $nueva_subcategoria){
            if($oSubcategoria->unique("DESCRIPCION_ADMIN","'".$descripcion_admin."'","DESCRIPCION","'".$nueva_subcategoria."'","ID_CATEGORIA",$id_categoria)){
				$response = array("RESULT" => "1","ERROR" =>"Ya existe una sub-categor&iacute;n con esa descripci&oacute;n");
                echo json_encode($response);
                exit();
				}
			}
				
            $oSubcategoria->ID_PRODUCTO = $id_producto;
            $oSubcategoria->ID_CATEGORIA = $id_categoria;
            $oSubcategoria->DESCRIPCION = $nueva_subcategoria;
            $oSubcategoria->DESCRIPCION_ADMIN = $descripcion_admin;
            $oSubcategoria->ORDEN = $orden;
             
                if($oSubcategoria->modify()){
                    $response = array("RESULT" => "0","ERROR" =>"none");
                    echo json_encode($response);
                    exit();     
                }else{
                    $response = array("RESULT" => "1","ERROR" =>"Error modificando categor&iacute;a");
                    echo json_encode($response);
                    exit();
                }
        break;
        
        case "DELETE":
            $id_subcategoria = $_POST['id_subcategoria'];
            $oSubcategoria->search($id_subcategoria);
            $oSubcategoria->ID_STATUS = 0; //inactive
                if($oSubcategoria->modify()){
					//inactiva todos los subniveles 1
							require_once('../php/class/subnivel1.class.php');
							$oSubNivel1 = new subnivel1();
							
							if($oSubNivel1->inactive_all("ID_SUBCATEGORIA",$id_subcategoria)){
								
								//inactiva todos los subnivel2
								require_once('../php/class/subnivel2.class.php');
								$oSubNivel2 = new subnivel2();
								
								if($oSubNivel2->inactive_all("ID_SUBCATEGORIA",$id_subcategoria)){
									
									$response = array("RESULT" => "0","ERROR" =>"none");
									echo json_encode($response);
									exit();
									
									}else{
										$response = array("RESULT" => "1","ERROR" =>"Error borrando subnivel2");
										echo json_encode($response);
										exit();
										
										}
								
								}else{
								$response = array("RESULT" => "1","ERROR" =>"Error borrando subnivel1");
								echo json_encode($response);
								exit();		
								}
                        
                }else{
                    $response = array("RESULT" => "1","ERROR" =>"Error borrando sub-categor&iacute;a");
                    echo json_encode($response);
                    exit();
                }
        break;
            
    }
     
?>
